using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Phoenix.ActionResults;
using Phoenix.Framework;

namespace Phoenix.Tests.Controllers
{
    public class TestController : Controller
    {
        public virtual ActionResult TestAction()
        {
            return Nothing();
        }

        public virtual ActionResult TestAction2()
        {
            return Nothing();
        }

        public virtual ActionResult TestAction(int arg)
        {
            return Nothing();          
        }

        public virtual ActionResult TestAction(int arg, List<string> arg2)
        {
            return Nothing();
        }

        public virtual Task<ActionResult> TestActionAsync()
        {
            return new Task<ActionResult>(Nothing);
        }

        public virtual ActionResult GetFoo(Guid value)
        {
            return Nothing();
        }

        public virtual ActionResult TestActionWithQueryString(QueryStringArgumentsCollection args)
        {
            return Nothing();
        }
    }
}